package controller;

import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.JOptionPane;

import Utils.StringUtil;
import Utils.ValidaDados;

import model.EmpresaDAO;
import model.MysqlConnect;
import model.bean.ClienteBean;
import model.bean.EmpresaBean;

public class EmpresaController {
	
	public static boolean cadastrarEmpresa(String nome, String cnpj){
		if(nome.isEmpty() || cnpj.isEmpty()){
			JOptionPane.showMessageDialog(null, "Para cadastrar uma empresa, preencha a razão social e o cnpj");
			return false;
		}else{
			if(!ValidaDados.CNPJ(cnpj)){
				JOptionPane.showMessageDialog(null, "CNPJ Inválido");
				return false;
			}
			EmpresaBean empresa = EmpresaDAO.getEmpresaByCnpj(cnpj);
			if(empresa == null){
				empresa = new EmpresaBean(nome, cnpj);
				EmpresaDAO.insertEmpresa(empresa);
			}
			return true;
		}
	}
	public static EmpresaBean getEmpresaPorId(int id){
		MysqlConnect mysql = new MysqlConnect();
		ResultSet rs = mysql.select("EMPRESA", "",
				"idempresa = " + id, "", "");
		EmpresaBean empresa = null;
		try {
			while (rs.next()) {
				String razaoSocial = rs.getString("razaosocial");
				String cnpj = rs.getString("cnpj");
				empresa = new EmpresaBean(razaoSocial, cnpj);
				empresa.setIdEmpresa(id); 
				return empresa;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			mysql.desconnect();
		}
		return empresa;
	}
	public static EmpresaBean getEmpresaPorCNPJ(String cnpj){
		MysqlConnect mysql = new MysqlConnect();
		ResultSet rs = mysql.select("EMPRESA", "",
				"CNPJ = " + StringUtil.quotedStr(cnpj), "", "");
		EmpresaBean empresa = null;
		try {
			while (rs.next()) {
				String razaoSocial = rs.getString("razaosocial");
				cnpj = rs.getString("cnpj");
				int id = rs.getInt("idempresa");
				empresa = new EmpresaBean(razaoSocial, cnpj);
				empresa.setIdEmpresa(id);
				return empresa;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			mysql.desconnect();
		}
		return empresa;
	}
}
